package com.bkq.cb.BLO;

import android.content.Context;
import android.database.Cursor;

import com.bkq.cb.GetDMY;
import com.bkq.cb.SqliteServices;

public class ReturnCustomReport {
	private static Cursor mCursor;
	 private static SqliteServices service = null;
	 GetDMY g = new GetDMY();
	 public ReturnCustomReport(Context context)
		{
			service = new SqliteServices(context);
		}
	 public float[] getValue(String day,String day_To,String idUser)
	 {
		 float[]s=new float[6]; 
			s[0] =0;
			s[1] =0;
			s[2] =0;
			s[3]=0;
			s[4]=0;
			s[5]=0;
			 service.openDatabase();
			  mCursor = service.queryData("select * from tblTransaction");
				 
			  if(mCursor.moveToFirst())
				{
				  if(mCursor.getString(1).equals(idUser))
					{
					 
						if(Integer.parseInt(g.getYear(day))<Integer.parseInt(g.getYear(mCursor.getString(3)))&&Integer.parseInt(g.getYear(day_To))>Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
							if(mCursor.getString(5).equals("income"))
								s[0]+=Float.parseFloat(mCursor.getString(4).toString());
							else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
					
					  }
				
					  else if(Integer.parseInt(g.getYear(day))==Integer.parseInt(g.getYear(mCursor.getString(3)))
							&&Integer.parseInt(g.getYear(day_To))==Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
						if(Integer.parseInt(g.getMonth(day))<Integer.parseInt(g.getMonth(mCursor.getString(3)))
								&&Integer.parseInt(g.getMonth(day_To))>Integer.parseInt(g.getMonth(mCursor.getString(3))))
						{
							if(mCursor.getString(5).equals("income"))
								s[0]+=Float.parseFloat(mCursor.getString(4).toString());
							else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
						}
						else if(Integer.parseInt(g.getMonth(day))==Integer.parseInt(g.getMonth(mCursor.getString(3)))
								&&Integer.parseInt(g.getMonth(day_To))==Integer.parseInt(g.getMonth(mCursor.getString(3))))
						{
							if(Integer.parseInt(g.getDay(day))<=Integer.parseInt(g.getDay(mCursor.getString(3)))
									&&Integer.parseInt(g.getDay(day_To))>=Integer.parseInt(g.getDay(mCursor.getString(3))))
							{
								if(mCursor.getString(5).equals("income"))
									s[0]+=Float.parseFloat(mCursor.getString(4).toString());
								else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
							}

						}
						
					  }
					  else if(Integer.parseInt(g.getYear(day))==Integer.parseInt(g.getYear(mCursor.getString(3)))
								&&Integer.parseInt(g.getYear(day_To))>Integer.parseInt(g.getYear(mCursor.getString(3))))
						  {
						
							if(Integer.parseInt(g.getMonth(mCursor.getString(3)))>Integer.parseInt(g.getMonth(day)))
							{
								if(mCursor.getString(5).equals("income"))
									s[0]+=Float.parseFloat(mCursor.getString(4).toString());
								else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
							}
							else if(Integer.parseInt(g.getMonth(mCursor.getString(3)))==Integer.parseInt(g.getMonth(day)))
							{
								if(Integer.parseInt(g.getDay(mCursor.getString(3)))>=Integer.parseInt(g.getDay(day)))
								{
									if(mCursor.getString(5).equals("income"))
										s[0]+=Float.parseFloat(mCursor.getString(4).toString());
									else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
								}

							}

						  }
					  else if(Integer.parseInt(g.getYear(day))<Integer.parseInt(g.getYear(mCursor.getString(3)))
								&&Integer.parseInt(g.getYear(day_To))==Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
							if(Integer.parseInt(g.getMonth(mCursor.getString(3)))<Integer.parseInt(g.getMonth(day_To)))
							{
								if(mCursor.getString(5).equals("income"))
									s[0]+=Float.parseFloat(mCursor.getString(4).toString());
								else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
							}
							else if(Integer.parseInt(g.getMonth(mCursor.getString(3)))==Integer.parseInt(g.getMonth(day_To)))
							{
								if(Integer.parseInt(g.getDay(mCursor.getString(3)))<=Integer.parseInt(g.getDay(day_To)))
								{
									if(mCursor.getString(5).equals("income"))
										s[0]+=Float.parseFloat(mCursor.getString(4).toString());
									else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
								}

							}

								
					  }
					}
								  
					
			    while(mCursor.moveToNext())
			   {
			    	if(mCursor.getString(1).equals(idUser))
					{
					 
						if(Integer.parseInt(g.getYear(day))<Integer.parseInt(g.getYear(mCursor.getString(3)))&&Integer.parseInt(g.getYear(day_To))>Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
							
							if(mCursor.getString(5).equals("income"))
								s[0]+=Float.parseFloat(mCursor.getString(4).toString());
							else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
					  }
				
					  else if(Integer.parseInt(g.getYear(day))==Integer.parseInt(g.getYear(mCursor.getString(3)))
							&&Integer.parseInt(g.getYear(day_To))==Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
						if(Integer.parseInt(g.getMonth(day))<Integer.parseInt(g.getMonth(mCursor.getString(3)))
								&&Integer.parseInt(g.getMonth(day_To))>Integer.parseInt(g.getMonth(mCursor.getString(3))))
						{
							if(mCursor.getString(5).equals("income"))
								s[0]+=Float.parseFloat(mCursor.getString(4).toString());
							else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
						}
						else if(Integer.parseInt(g.getMonth(day))==Integer.parseInt(g.getMonth(mCursor.getString(3)))
								&&Integer.parseInt(g.getMonth(day_To))==Integer.parseInt(g.getMonth(mCursor.getString(3))))
						{
							if(Integer.parseInt(g.getDay(day))<=Integer.parseInt(g.getDay(mCursor.getString(3)))
									&&Integer.parseInt(g.getDay(day_To))>=Integer.parseInt(g.getDay(mCursor.getString(3))))
							{
								if(mCursor.getString(5).equals("income"))
									s[0]+=Float.parseFloat(mCursor.getString(4).toString());
								else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
							}

						}
						
					  }
					  else if(Integer.parseInt(g.getYear(day))==Integer.parseInt(g.getYear(mCursor.getString(3)))
								&&Integer.parseInt(g.getYear(day_To))>Integer.parseInt(g.getYear(mCursor.getString(3))))
						  {
						
							if(Integer.parseInt(g.getMonth(mCursor.getString(3)))>Integer.parseInt(g.getMonth(day)))
							{
								if(mCursor.getString(5).equals("income"))
									s[0]+=Float.parseFloat(mCursor.getString(4).toString());
								else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
							}
							else if(Integer.parseInt(g.getMonth(mCursor.getString(3)))==Integer.parseInt(g.getMonth(day)))
							{
								if(Integer.parseInt(g.getDay(mCursor.getString(3)))>=Integer.parseInt(g.getDay(day)))
								{
									if(mCursor.getString(5).equals("income"))
										s[0]+=Float.parseFloat(mCursor.getString(4).toString());
									else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
								}

							}

						  }
					  else if(Integer.parseInt(g.getYear(day))<Integer.parseInt(g.getYear(mCursor.getString(3)))
								&&Integer.parseInt(g.getYear(day_To))==Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
							if(Integer.parseInt(g.getMonth(mCursor.getString(3)))<Integer.parseInt(g.getMonth(day_To)))
							{
								if(mCursor.getString(5).equals("income"))
									s[0]+=Float.parseFloat(mCursor.getString(4).toString());
								else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
							}
							else if(Integer.parseInt(g.getMonth(mCursor.getString(3)))==Integer.parseInt(g.getMonth(day_To)))
							{
								if(Integer.parseInt(g.getDay(mCursor.getString(3)))<=Integer.parseInt(g.getDay(day_To)))
								{
									if(mCursor.getString(5).equals("income"))
										s[0]+=Float.parseFloat(mCursor.getString(4).toString());
									else s[1]+=Float.parseFloat(mCursor.getString(4).toString());
								}

							}

								
					  }
					}
								
				
		  
			   }
			
				}
			  mCursor = service.queryData("select * from tblLoan");
				 
			  if(mCursor.moveToFirst())
				{
				  if(mCursor.getString(1).equals(idUser))
					{
					 
						if(Integer.parseInt(g.getYear(day))<Integer.parseInt(g.getYear(mCursor.getString(3)))&&Integer.parseInt(g.getYear(day_To))>Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
							if(mCursor.getString(6).equals("Lend"))
								s[3]+=Float.parseFloat(mCursor.getString(5).toString());
							else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
					
					  }
				
					  else if(Integer.parseInt(g.getYear(day))==Integer.parseInt(g.getYear(mCursor.getString(3)))
							&&Integer.parseInt(g.getYear(day_To))==Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
						if(Integer.parseInt(g.getMonth(day))<Integer.parseInt(g.getMonth(mCursor.getString(3)))
								&&Integer.parseInt(g.getMonth(day_To))>Integer.parseInt(g.getMonth(mCursor.getString(3))))
						{
							if(mCursor.getString(6).equals("Lend"))
								s[3]+=Float.parseFloat(mCursor.getString(5).toString());
							else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
						}
						else if(Integer.parseInt(g.getMonth(day))==Integer.parseInt(g.getMonth(mCursor.getString(3)))
								&&Integer.parseInt(g.getMonth(day_To))==Integer.parseInt(g.getMonth(mCursor.getString(3))))
						{
							if(Integer.parseInt(g.getDay(day))<=Integer.parseInt(g.getDay(mCursor.getString(3)))
									&&Integer.parseInt(g.getDay(day_To))>=Integer.parseInt(g.getDay(mCursor.getString(3))))
							{
								if(mCursor.getString(6).equals("Lend"))
									s[3]+=Float.parseFloat(mCursor.getString(5).toString());
								else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
							}

						}
						
					  }
					  else if(Integer.parseInt(g.getYear(day))==Integer.parseInt(g.getYear(mCursor.getString(3)))
								&&Integer.parseInt(g.getYear(day_To))>Integer.parseInt(g.getYear(mCursor.getString(3))))
						  {
						
							if(Integer.parseInt(g.getMonth(mCursor.getString(3)))>Integer.parseInt(g.getMonth(day)))
							{
								if(mCursor.getString(6).equals("Lend"))
									s[3]+=Float.parseFloat(mCursor.getString(5).toString());
								else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
							}
							else if(Integer.parseInt(g.getMonth(mCursor.getString(3)))==Integer.parseInt(g.getMonth(day)))
							{
								if(Integer.parseInt(g.getDay(mCursor.getString(3)))>=Integer.parseInt(g.getDay(day)))
								{
									if(mCursor.getString(6).equals("Lend"))
										s[3]+=Float.parseFloat(mCursor.getString(5).toString());
									else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
								}

							}

						  }
					  else if(Integer.parseInt(g.getYear(day))<Integer.parseInt(g.getYear(mCursor.getString(3)))
								&&Integer.parseInt(g.getYear(day_To))==Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
							if(Integer.parseInt(g.getMonth(mCursor.getString(3)))<Integer.parseInt(g.getMonth(day_To)))
							{
								if(mCursor.getString(6).equals("Lend"))
									s[3]+=Float.parseFloat(mCursor.getString(5).toString());
								else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
							}
							else if(Integer.parseInt(g.getMonth(mCursor.getString(3)))==Integer.parseInt(g.getMonth(day_To)))
							{
								if(Integer.parseInt(g.getDay(mCursor.getString(3)))<=Integer.parseInt(g.getDay(day_To)))
								{
									if(mCursor.getString(6).equals("Lend"))
										s[3]+=Float.parseFloat(mCursor.getString(5).toString());
									else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
								}

							}

								
					  }
					}
								  
					
			    while(mCursor.moveToNext())
			   {
			    	if(mCursor.getString(1).equals(idUser))
					{
					 
						if(Integer.parseInt(g.getYear(day))<Integer.parseInt(g.getYear(mCursor.getString(3)))&&Integer.parseInt(g.getYear(day_To))>Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
							
							if(mCursor.getString(6).equals("Lend"))
								s[3]+=Float.parseFloat(mCursor.getString(5).toString());
							else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
					  }
				
					  else if(Integer.parseInt(g.getYear(day))==Integer.parseInt(g.getYear(mCursor.getString(3)))
							&&Integer.parseInt(g.getYear(day_To))==Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
						if(Integer.parseInt(g.getMonth(day))<Integer.parseInt(g.getMonth(mCursor.getString(3)))
								&&Integer.parseInt(g.getMonth(day_To))>Integer.parseInt(g.getMonth(mCursor.getString(3))))
						{
							if(mCursor.getString(6).equals("Lend"))
								s[3]+=Float.parseFloat(mCursor.getString(5).toString());
							else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
						}
						else if(Integer.parseInt(g.getMonth(day))==Integer.parseInt(g.getMonth(mCursor.getString(3)))
								&&Integer.parseInt(g.getMonth(day_To))==Integer.parseInt(g.getMonth(mCursor.getString(3))))
						{
							if(Integer.parseInt(g.getDay(day))<=Integer.parseInt(g.getDay(mCursor.getString(3)))
									&&Integer.parseInt(g.getDay(day_To))>=Integer.parseInt(g.getDay(mCursor.getString(3))))
							{
								if(mCursor.getString(6).equals("Lend"))
									s[3]+=Float.parseFloat(mCursor.getString(5).toString());
								else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
							}

						}
						
					  }
					  else if(Integer.parseInt(g.getYear(day))==Integer.parseInt(g.getYear(mCursor.getString(3)))
								&&Integer.parseInt(g.getYear(day_To))>Integer.parseInt(g.getYear(mCursor.getString(3))))
						  {
						
							if(Integer.parseInt(g.getMonth(mCursor.getString(3)))>Integer.parseInt(g.getMonth(day)))
							{
								if(mCursor.getString(6).equals("Lend"))
									s[3]+=Float.parseFloat(mCursor.getString(5).toString());
								else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
							}
							else if(Integer.parseInt(g.getMonth(mCursor.getString(3)))==Integer.parseInt(g.getMonth(day)))
							{
								if(Integer.parseInt(g.getDay(mCursor.getString(3)))>=Integer.parseInt(g.getDay(day)))
								{
									if(mCursor.getString(6).equals("Lend"))
										s[3]+=Float.parseFloat(mCursor.getString(5).toString());
									else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
								}

							}

						  }
					  else if(Integer.parseInt(g.getYear(day))<Integer.parseInt(g.getYear(mCursor.getString(3)))
								&&Integer.parseInt(g.getYear(day_To))==Integer.parseInt(g.getYear(mCursor.getString(3))))
					  {
							if(Integer.parseInt(g.getMonth(mCursor.getString(3)))<Integer.parseInt(g.getMonth(day_To)))
							{
								if(mCursor.getString(6).equals("Lend"))
									s[3]+=Float.parseFloat(mCursor.getString(5).toString());
								else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
							}
							else if(Integer.parseInt(g.getMonth(mCursor.getString(3)))==Integer.parseInt(g.getMonth(day_To)))
							{
								if(Integer.parseInt(g.getDay(mCursor.getString(3)))<=Integer.parseInt(g.getDay(day_To)))
								{if(mCursor.getString(6).equals("Lend"))
									s[3]+=Float.parseFloat(mCursor.getString(5).toString());
								else s[4]+=Float.parseFloat(mCursor.getString(5).toString());
								}

							}

								
					  }
					}
								
				
		  
			   }
			
				}
			s[2]=s[0]-s[1];
			s[5]=s[3]-s[4];
			return s;
	 }
}
